package xaj.scc.ast;

import polyglot.ast.Node;

public interface ProductionElement extends Node,Visitable {
	public Factor getFactor();
	/**
	 * Seguindo o padrão do polyglot, onde toda vez que o nó é alterado um novo é retornado
	 *  com os valores atualizados
	 * @param list
	 * @return
	 */
	public ProductionElement setFactor(Factor factor);
	public SemanticAction getSemanticAction();
	/**
	 * Seguindo o padrão do polyglot, onde toda vez que o nó é alterado um novo é retornado
	 *  com os valores atualizados
	 * @param action
	 * @return
	 */
	public ProductionElement setSemanticAction(SemanticAction action);
}
